Quantifier Elimination and Parametric Polymorphism in Programming Languages
نویسنده
چکیده
We present a simple and easy to understand explanation of ML type inference and parametric polymorphism within the framework of type monomorphism, as in the rst order typed lambda calculus. We prove the equivalence of this system with the standard interpretation using type polymorphism, and extend the equivalence to include polymorphic xpoints. The monomorphic interpretation gives a purely combinatorial understanding of the type inference problem, and is a classic instance of quantiier elimination, as well as an example of Gentzen-style cut elimination in the framework of the Curry-Howard propositions-as-types analogy.
منابع مشابه
Quantifier Elimination in Term Algebras The Case of Finite Languages
We give a quantifier elimination procedure for term algebras over suitably expanded finite first-order languages. Our expansion is purely functional. Our method works by substituting finitely many parametric test terms. This allows us to obtain in addition sample solutions for an outermost existential quantifier block. The existence of our method implies that the considered quantifier eliminati...
متن کاملReal Quadratic Quantifier Elimination in Risa/Asir
Weispfenning has shown how to use test term methods for quantifier elimination in linear and quadratic first-order formulas over real closed fields. This paper describes the state of the implementation of such methods in the computer algebra system Risa/Asir. The package described here is entirely written in the C programming language. We point on possible extensions of the package and give exa...
متن کاملFamily Resemblance vs. Polymorphism
CONTENTS SUMMARY "Measure boundary" concepts for domains with a metric Use of task-related boundary Metrical and non-metrical concepts, and polymorphism Parametric polymorphism in biological designs Family Resemblance Ryle’s Polymorphism Parametric polymorphism in computer science Exercises for the reader Evolution and parametric polymorphism Programming languages with parametric polymorphism M...
متن کاملSemantics of Parametric Polymorphism in Imperative Programming Languages
Programming languages such as CLU, Ada and Modula-3 have included facilities for parametric polymorphism and, more recently, C++ and Java have also added similar facilities. In this paper, we examine the issues of defining denotational semantics for imperative programming languages with polymorphism. We use the framework of reflexive graphs of categories previously developed for a general axiom...
متن کاملSimulation and Optimization by Quantifier Elimination
We present a highly optimized method for the elimination of linear variables from a boolean combination of polynomial equations and inequalities. In contrast to the basic method described earlier, the practical applicability of the present method goes far beyond academic examples. The optimization is achieved by various strategies to prune superruous branches in the elimination tree constructed...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Funct. Program.
دوره 2 شماره
صفحات -
تاریخ انتشار 1992